ActiveMQ Cluster কনফিগারেশন একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ)-কে একটি ডিস্ট্রিবিউটেড, স্কেলেবল এবং হাই অ্যাভেইলেবিলিটি (High Availability) সিস্টেম তৈরি করতে সাহায্য করে। একটি ক্লাস্টার তৈরি করার মাধ্যমে, আপনি একাধিক অ্যাকটিভএমকিউ সার্ভারকে সংযুক্ত করতে পারেন, যা মেসেজ ডেলিভারি, স্টোরেজ এবং ব্রোকার ফেইলওভারকে আরও স্থিতিশীল এবং স্কেলেবল করে তোলে। ক্লাস্টার কনফিগারেশন এর মাধ্যমে আপনি অ্যাপাচি অ্যাকটিভএমকিউ ব্রোকারের পারফরম্যান্স এবং রিলায়েবিলিটি উন্নত করতে পারবেন।
ActiveMQ ক্লাস্টার কনফিগারেশন মূলত দুটি পদ্ধতিতে করা যেতে পারে: Network of Brokers এবং Shared Store (Master-Slave)।
Network of Brokers কনফিগারেশন হল একাধিক ActiveMQ ব্রোকারের মধ্যে মেসেজ রিলেয়িং (message relaying) সিস্টেম, যেখানে ব্রোকারগুলি একে অপরের সাথে যোগাযোগ করতে পারে এবং মেসেজ শেয়ার করতে পারে। এই পদ্ধতিতে একাধিক ব্রোকারের মধ্যে মেসেজের আদান-প্রদান করা হয়, এবং এটি ব্রোকার ফেইলওভার সাপোর্ট করে।
নেটওয়ার্ক অব ব্রোকার্স কনফিগার করতে, networkConnectors
ব্যবহার করতে হবে। এখানে একটি উদাহরণ দেওয়া হলো:
activemq.xml
কনফিগারেশন<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="broker1"
dataDirectory="data">
<!-- Network connector configuration -->
<networkConnectors>
<!-- Connecting to another broker (e.g., broker2) -->
<networkConnector name="bridge1" uri="static:(tcp://localhost:61617)" />
</networkConnectors>
<!-- Queue and Topic configurations -->
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" memoryLimit="1gb" />
</policyEntries>
</policyMap>
</destinationPolicy>
</broker>
এখানে:
networkConnector
: এটি অন্য ব্রোকারের সাথে সংযোগ স্থাপন করতে ব্যবহৃত হয়। uri="static:(tcp://localhost:61617)"
এই লাইনটি ব্রোকার1 কে ব্রোকার2 এর সাথে সংযুক্ত করে।uri
: এই প্যারামিটারটি দ্বিতীয় ব্রোকারের লোকেশন নির্ধারণ করে। এখানে tcp://localhost:61617
হল ব্রোকার2 এর অ্যাড্রেস।Shared Store কনফিগারেশন মূলত Master-Slave কনফিগারেশন পদ্ধতি অনুসরণ করে, যেখানে একটি Master ব্রোকার এবং এক বা একাধিক Slave ব্রোকার থাকে। মেসেজ এবং কিউগুলির ডেটা মাষ্টার ব্রোকারে সঞ্চিত থাকে এবং স্লেভ ব্রোকারগুলোকে এই ডেটা শেয়ার করার জন্য কনফিগার করা হয়।
persistenceAdapter
এ KahaDB বা JDBC ব্যবহার করে Master-Slave ক্লাস্টার কনফিগার করতে পারেন।
activemq.xml
(Master-Slave Configuration)<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="master-broker"
dataDirectory="data">
<!-- PersistenceAdapter configuration for Shared Store -->
<persistenceAdapter>
<kahaDB directory="data/kahadb" />
</persistenceAdapter>
<masterSlave>
<slave>
<brokerUrl>tcp://slave-broker:61616</brokerUrl>
<persistent>true</persistent>
</slave>
</masterSlave>
</broker>
এখানে:
masterSlave
: এটি Master-Slave কনফিগারেশন নির্ধারণ করে। এই কনফিগারেশনে, একটি Master ব্রোকার থাকবে এবং এক বা একাধিক Slave ব্রোকার থাকবে।brokerUrl
: এটি স্লেভ ব্রোকারের URL নির্ধারণ করে, যেখানে ব্রোকারটি ডেটা শেয়ার করবে।মাল্টিকাস্ট নেটওয়ার্ক কানেক্টর ব্যবহৃত হয় যেখানে একাধিক ActiveMQ ব্রোকার একই নেটওয়ার্কে মেসেজ শেয়ার করতে চায় এবং মাল্টিকাস্টিং প্রযুক্তি ব্যবহার করে।
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker1">
<networkConnectors>
<networkConnector name="multicast" uri="multicast://default?multicastGroup=239.0.0.1"/>
</networkConnectors>
</broker>
এখানে:
uri="multicast://default?multicastGroup=239.0.0.1"
: মাল্টিকাস্ট ব্রোকারগুলোর মধ্যে যোগাযোগের জন্য ব্যবহার করা হয়।ActiveMQ Cluster Configuration অ্যাপাচি অ্যাকটিভএমকিউ কে একটি স্কেলেবল, হাই অ্যাভেইলেবিলিটি এবং ডিস্ট্রিবিউটেড সিস্টেমে রূপান্তরিত করে। এটি Network of Brokers এবং Shared Store (Master-Slave) কনফিগারেশন পদ্ধতির মাধ্যমে একাধিক ব্রোকারকে সংযুক্ত করে। নেটওয়ার্ক অব ব্রোকার্স ক্লাস্টার মেসেজ রিলেয়িং সিস্টেম হিসেবে কাজ করে এবং Master-Slave কনফিগারেশন ডেটার হাই অ্যাভেইলেবিলিটি নিশ্চিত করে।
common.read_more